package com.lpf.flowable;

import org.flowable.ui.common.service.idm.RemoteIdmService;
import org.flowable.ui.modeler.properties.FlowableModelerAppProperties;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;

@EnableConfigurationProperties(FlowableModelerAppProperties.class)
@ComponentScan(
        basePackages = {
                "com.*",
                "org.flowable.ui.modeler.repository",
                "org.flowable.ui.modeler.service",
                "org.flowable.ui.common.service",
                "org.flowable.ui.common.repository",
                "org.flowable.ui.common.tenant"},
        excludeFilters = {@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = RemoteIdmService.class)}
)
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
public class FlowableSystemApplication {

    public static void main(String[] args) {
        SpringApplication.run(FlowableSystemApplication.class, args);
    }

}
